Рикошет это тип атаки(тип оружия - edited), такой, у охотниц Лунный чакрум нифига не дает, просто иконка, сам эффект вызван переключением атаки.
Это делает либо апгрейдом либо морфом юнита, так же подсовыванием (убиранием абилки с орб эффектом) ВНИМАНИЕ - тип атаки снаряд рикошет не сочетается с большинством орб эффектов.
Делать триггерные Криты и баши.
Дефолтные модификаторы атаки в в варе ( особенно для дальнего боя) не дружат между собой. Так что делаем их кастом версии.
Область поражения будет не округлой а эпилептической, смещенной на некоторое расстояние вперед, чтобы добится эффекта как от волны силы, чтобы поражать врагов позади цели атаки.
Далее в функции движения снаряда определяем столкновение с землёй, получаем нормаль и строим вектор отражения по данной нормали и текущей скорости снаряда:
может скинешь карту удали все что не связанно с предметами посмотрим что не так.
Вот скрин одного из предметов, который перестал работать. Boots of Travel - активка. Мне кажется это просто баг, так как перестает работать какой-то предмет, на самом деле, очень редко. Я думал может есть какое то логическое объяснение, но увы.
Спасибо за ответы.
Пробовать не хочу, но предложу вот, что:
Если цель - защитить карту от подглядывания. То при старте игры или инициализации (если получится) можно запустить триггер с условием Вид: карта разведана is Set == да (процитировал текст условия из Гуи), действие - замкнутый цикл, или вызвать фатальную ошибку, вылет и т.д. Суть в том, что когда игрок запустит карту с такими параметрами, то тупо закрашить варик.
есть событие - юнит получает урон. в нём отслеживается как жертва, так и наносящий урон. можно хоть через хэш, хоть через структуру Юнита записывать всё, что угодно. Кто от кого конкретно сколько получил урона, кто кому сколько нанёс, сколько провисел на ком-то бафф яда и т.п. (Сначала был loop, а теперь периодический триггер). Каждые N секунд, перебираешь всех юнитов в массиве или списке, и отслеживаешь всё, что надо.
Структура - Unit. У неё есть двойной список с юнитами и уроном от яда (полученным или нанесённым - зависит от того, у кого будет этот список - у жертв или у тех, кто наносит яд). Типа DoubleList. В DoubleList есть элементы DoubleElement. В каждом таком элементе записаны unit и real (урон от яда от этого юнита). При получении урона от яда перебирается список, если юнит уже есть, урон от него (или ему) прибавляется. Если нет, то создаётся новый элемент с новым юнитом.
Периодически у нужных юнитов эти списки перебираются. Всё.
Есть триггерные действия на смену текстуры в точке, но там тоже есть предел на их количество.
Где-то здесь на хгме был генератор рандомного ландшафта на триггерах, и там случайно выпадает зимний/осенний ланд и т.д.
Очень просто, на эти скиллы нужно сделать ссылки в коде, что их что то использует, ибо отключить галочку - Удалять не используемые способности, оптимизаторы таким образом удаляют мусор, который не где не прменяется, это как у фрога доте - 400+ юнитов говна, вроде альтернативных ультов феникса, старого сикера, и так далее.
Самый верный способ, создайте на карте всех нужных вам юнитов в некой области из которой они будут удалены при старте игры, легко и просто?
на сколько я понял твой триггер срабатывает при получении урона определённым юнитом
и ты вызываешь в нём этот триггер
который наносит урон этому самому юниту
в результате опять срабатывает отлов урона
и опять наносится урон
и опять ...
в общем получается рекурсия и вар выкидывает из за переполнения стека
кстати почему бы не сделать отлов урона в 1 триггере?
MrSlendyBoy, еще раз, анимация может быть только Channel (спелл сам не может выбрать Channel 1, 2 -10) Проигрывайте анимацию по индексу триггерно при применении способности.
1,2 - это вариации одного и того же состояния, а First, Second, Alternate, Gold и прочие - альтернативы, работающие только с использованием данного тега, причем они также могут иметь свои вариации 1,2 и тд.
во первых где дебаг
во вторых не фиг вешать на хэндл таймера всякую фигню
юзай список и пробегай по нему таймером
и будет тебе счастье
в третьих если говоришь что где то ошибка ты должен указать :
строку с ошибкой
доказательства того что она произошла (скрин + лог)
собственные попытки её исправить
в четвёртых предоставить карту
короче либо предоставь всю информацию либо перепиши код по нормальному
как правильно переписать ты сможешь прочесть в статьях
Там и защиты то никакой нету, деоптимизатором прошёлся да и все, код редактируешь одтельно и вставляешь в уже подготовленную карту.
Вот опен карта, там все изи...
Советую проверять бекапы один за другим, и в том, в котором впервые возникает такая проблема, и искать ошибку, она наверняка где-то в изменениях относительно хронологически предыдущей версии.
Лимит операций примерно 4 к. А у тебя тут поболее 16к.
Обойти лимит операций можно только разнеся действия в разные потоки. К примеру для через таймер.
Но ведь сами по себе ошибки не происходят.
Причина подобного это А) - невнимательность либо твоя либо автора В) - программное обеспечение
Что бы в дальнейшем все было окей, просто сначала потести карту полностью что бы знать что и как должно быть, а потом вноси изменения, будь внимательней.
Еще советую связаться с автором и поговорить с ним об этой проблеме, или запросить у него еще 1 исходник да бы сверЯться с ним.
1.Берём лаунчер Алексея.
2.Берём программу для работы с MPQ(хотя можно создать доп.кампанию для варкрафта и переименовать в mpq).
3.Сбрасываем ваши файлы в архив(или импортируем в кампанию).
4.Запускаем.
(Можно обойтись без лаунчера и использовать MPQDraft и преаброзовать mpq в exe.Но лучше поддержать отечественные разработки)
5.Хлопаем в ладошки и кричим ураааааа!
=)
На карте стоит защита, её нужно снять...
Снимите сами или это сделают за вас, но за спасибо вряд-ли кто будет это делать. Лекция по снятию защит - 100 руб./час.
RotceV, Создайте новую, совершенно пустую карту, поставьте исходную позицию в центре и нажмите вкладку - Редактор звука (F5), в окне слева будут стандартные звкуовые файлы варкравта, выберите любой, щелкните правой кнопкой мыши на любом звуке и выбирите пункт в всплывающем меню - "использовать как звук"
В окне слева появится звуковая переменная, вы сможете настроить её по желанию, но это неважно. Сохраните карту.
Выколупайте код war3map.j из только что сохраненной карты, и ищите функцию - InitSounds, там вы увидите как на jass создаются и настраиваются звуковые переменные и как ваши настройки в редакторе звуков переносятся на jass код, удачи...
во первых где дебаг
во вторых не фиг вешать на хэндл таймера всякую фигню
юзай список и пробегай по нему таймером
и будет тебе счастье
в третьих если говоришь что где то ошибка ты должен указать :
строку с ошибкой
доказательства того что она произошла (скрин + лог)
собственные попытки её исправить
в четвёртых предоставить карту
короче либо предоставь всю информацию либо перепиши код по нормальному
как правильно переписать ты сможешь прочесть в статьях
local location loc=GetUnitLoc(GetEnumUnit())
local location tcLoc=GetUnitLoc(udg_topot_caster)
local real a=AngleBetweenPoints(tcLoc, loc)
call SetUnitX(GetEnumUnit(),GetLocationX(loc) +CosBJ(a) * 10.00 )
call SetUnitY(GetEnumUnit(),GetLocationY(loc) +SinBJ(a) * 10.00 )
call RemoveLocation(tcLoc)
call RemoveLocation(loc)
set tcLoc=null
set loc=null
Перегрузка макросов
Определение в пределах одной области видимости нескольких макросов с одинаковыми именами не вызовет ошибки, если они отличаются количеством принимаемых аргументов. Такие макросы называются перегружеными. В зависимости от количества переданных при вызове аргументов, будет вызван тот или иной из перегруженных макросов.
define {
msg(text) = DisplayTextToPlayer(GetLocalPlayer(), text, 0, 0)
msg(text,playerid) = DisplayTextToPlayer(Player(playerid), text, 0, 0)
msg(text,playerid,x,y) = DisplayTextToPlayer(Player(playerid), text, x, y)
}
nothing test() {
msg("test 1")
msg("test 2", 1)
msg("test 3", 2, 0.1, 0.1)
}
будет транслировано в следующее:
function test takes nothing returns nothing
call DisplayTextToPlayer(GetLocalPlayer(), "test 1", 0, 0)
call DisplayTextToPlayer(Player(1), "test 2", 0, 0)
call DisplayTextToPlayer(Player(2), "test 3", 0.1, 0.1)
endfunction
Внимание! Если в перегруженной группе есть макрос, не принимающий аргументов, его все равно необходимо записывать с указанием пустых скобок после него.
При конвертации моделей из игр в MDX их вес велик как и вес их текстур ! Я оптимизирую и сжимаю модель через MDLvis а текстуры через BLP Laboratory но их вес все еще внушителен ( Есть ли другие варианты среза веса без дефектов материала ?
Нет. Только удаление лишних анимаций. Остальную оптимизацию веса сделает mdlvis.
При импорте некоторых моделей в карту возникает проблема с их выбором при манипуляции ( Передвижения ) словно их Выбор отсутствует , Думаю некоторые с подобным сталкивались ...
Если модель нельзя выделить в игре курсором, у неё отсутствуют collision shapes (формы коллизии). Их можно добавить в War3ModelEditor -> Окна -> Редактор узлов -> правый клик -> Создать форму - > отредактировать размеры и положение. Их можно добавить несколько, чтобы покрыть модель целиком. Они отвечают за взаимодействие модели с курсором.
Один ресурс - один вопрос, после пойдут замечания.
Кстати да, тоже интересно. Всегда просто удаляю второй. Я понимаю, что там скорее всего что-то несет информационную ценность, но оно бы тогда хотя бы настраивалось как-то в оптимизаторе, создавать его или не создавать и/или удалить после выполнения оптимизации, а то немного раздражает мусор руками чистить. Если такие настройки есть - подскажите плз.
вылет при попытке чтения данных абилки из таблиц, почему-то передали вместо ссылки на адрес уровня 0. ты нигде там не сломал ссылку на актуальный уровень? Там же перелинковка через каждые 0x60 - ссылка на адрес следущего уровня. возможно, нужный уровень был там, где почему-то в адресе осталось 0
По интернету полно гаидов по созданию карт - это Xgm, wc3maps, Hiveworkshop ( If you know English)
Если тебе нужен совет, заливай сюда-же в раздел вопросов, всегда помогут.
Учись на примерах: Вскрывай другие карты и смотри триггеры или потырь ланд.
И если честно то база знаний у нас на сайте подобрана лучше где еще либо, все по полочкам разложено.
Лимит операций, обычно это беда настигает заядлых гуишников.
На jass обычно нету таких проблем.
Создайте таймер с периодом .00 сек и запускайте им функции инициализации триггеров.
функция типа InitTrig_Имя триггера - это функция инициализации триггера, она вызывается из функции InitCustomTriggers, но если этих вызовов очень много то функция упирается в лимит операций и поток завершается так и не создав все триггеры.
Ige, потому что делал 2 сек после инициализация.... Так что выложу исправлений и оптимизированный мемхак с инициализацией...
PS Терь работает нормально при инициализация с мемхак
PSS Пользуйтесь на здоровье, планирую сделать набор для rpg с мемхак
проведя еще пару часов за тестами, в голову пришла мысль о фаталках из-за большого числа юнитов на мелководье
остановился на том, что ошибка вылетела из-за случайных точек спауна по квадрату на мелко-глубкоководной местности. сделал спаун в отдельных мини областях - ошибка исчезла
Не надо плодить мифы, если модель не является разрушаемым объектом, то она не исчезает при верно рассчитанных границах
Разрушаемый объект исчезает всегда, когда центр пропадает из кадра, как вариант можно заменить юнитом
что бы юнит атаковал противников, есть у юнита дистанция получения приказа, а в константах что то типо зов на помощь. их и меняй, хотя хватит и второго.
Не проверял, но практически на 100% уверен, что каждый скачок молнии начинается с поиска подходящей цели, и следующая цель после смены владельца кастера будет враждебной новому владельцу.
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.
Собственные попытки в студию, что не получается?
Напомним - ЭТО НЕ СТОЛ ЗАКАЗОВ, здесь задают вопросы про реализацию тех или иных вопросов, спрашивают про ошибки, оптмизацию, отдельные функции. Я не увидел в вашем вопросе ничего кроме невнятного описания механики способности, " вокргу кого то там огненные столбы возникают, и еще порча"...
Filius Dei, во вредные советы подъехали...
Русификатор очень поможет тем кто собрался ломануть чужую карту и сделать её мод, прям ваще жир...
Потом нубам вроде сударя не стоит бежать ломать чужую карту, чето там пытатся копировать - это все бесполезно, недавно был похожий вопрос - помогите взломать карту за вознаграждение, карту сломали - ну а дальше что? Он неспособен ничего сделать потому что просто не понимает как?
Играя в некую карту вы мните себя великими балансерами и картоделами, мол да чё там, шяс подправлю пару значений и все будет норм - нет не будет, это не так просто как может показаться, без понимания устройства карты и знания Jass вам нечего там делать, вы тупо ничего не сможете изменить, да даже скопировать и вставить!
Помните что без труда не выловишь и рыбку из пруда, т.е изи способов в 1 кнопку взять и запилить чужую карту так как вам хочется или вдруг стащить всех героев себе в карту нет, а уж теболее не случится так что вам кто то возьмет и все это сделает вам за спасибо...
» WarCraft 3 / Игровой интерфейс
» WarCraft 3 / Рикошет
» WarCraft 3 / Почему не работает триггер?
» WarCraft 3 / Инком
» WarCraft 3 / Хелп
» WarCraft 3 / Обьекты
» WarCraft 3 / Отслеживание атак
» WarCraft 3 / Сфера огня
» WarCraft 3 / Анимации
» WarCraft 3 / Перенос jass
» WarCraft 3 / Модель человека из WoW
» WarCraft 3 / Триггер работает не полностью
» WarCraft 3 / MPQ
» WarCraft 3 / SetUnitX не работает
» WarCraft 3 / Значение функций
» WarCraft 3 / Оптимизация карты.
» 3D Арт и VR / 3Ds max
» WarCraft 3 / Срочно прошу причины фатала
» WarCraft 3 / Jass: Ресурсы
» WarCraft 3 / Краш Карты
» WarCraft 3 / Модель исчезает при приближении к краю экрана
» WarCraft 3 / Союзники....
» WarCraft 3 / Запись звуков для юнита
» WarCraft 3 / Триггеры
» WarCraft 3 / Изменение цвета воды